let constructor_case x = match x with
    | Leaf(a)       -> a
    | Branch(b1,b2) -> constructor_case b1
